package test.com.sms.selenium.singlepoint.util;

import org.openqa.selenium.By;

import test.com.sms.selenium.framework.SeleniumPageUtil;
import test.com.sms.selenium.util.SeleniumUtil;

public class SpReportsProfessionalServicesListingPageUtil extends SeleniumPageUtil {
	public final static By RPSL_SPAN_HEADER = By.id("ctl44_Report_Header_lblHeader");
	
	public final static By RPSL_IMG_REPORT_PREFERENCES = By.id("ctl44_Report_Header_imgPreferences");
	public final static By RPSL_IMG_EXPORT = By.id("ctl44_Report_Header_imgExcelExport");
	
	public final static By RPSL_TD_PAGE = By.xpath("//*[@id='form1']/table/tbody/tr[2]/td/div/table[2]/tbody/tr/td[1]");
	public final static By RPSL_SPAN_PAGE_START_NO = By.id("ctl44_Report_PagingTop_lblPagingPageNumber");
	public final static By RPSL_TD_OF = By.xpath("//*[@id='form1']/table/tbody/tr[2]/td/div/table[2]/tbody/tr/td[3]");
	public final static By RPSL_SPAN_PAGE_COUNT = By.id("ctl44_Report_PagingTop_lblPagingPageCount");
	
	public final static By RPSL_INPUT_FIRST = By.id("ctl44_Report_PagingTop_imgFirst");
	public final static By RPSL_INPUT_PREVIOUS = By.id("ctl44_Report_PagingTop_imgPrevious");
	public final static By RPSL_INPUT_NEXT = By.id("ctl44_Report_PagingTop_imgNext");
	public final static By RPSL_INPUT_LAST = By.id("ctl44_Report_PagingTop_imgLast");
	
	public final static By RPSL_IMG_FILTER_1 = By.id("ctl44_Report_filter_1");
	public final static By RPSL_IMG_FILTER_2 = By.id("ctl44_Report_filter_2");
	public final static By RPSL_IMG_FILTER_3 = By.id("ctl44_Report_filter_3");
	public final static By RPSL_IMG_FILTER_4 = By.id("ctl44_Report_filter_4");
	public final static By RPSL_IMG_FILTER_5 = By.id("ctl44_Report_filter_5");
	public final static By RPSL_IMG_FILTER_6 = By.id("ctl44_Report_filter_6");
	public final static By RPSL_IMG_FILTER_7 = By.id("ctl44_Report_filter_7");
	public final static By RPSL_IMG_FILTER_8 = By.id("ctl44_Report_filter_8");
	public final static By RPSL_IMG_FILTER_9 = By.id("ctl44_Report_filter_9");
	public final static By RPSL_IMG_FILTER_10 = By.id("ctl44_Report_filter_10");
	public final static By RPSL_IMG_FILTER_11 = By.id("ctl44_Report_filter_11");
	public final static By RPSL_IMG_FILTER_12 = By.id("ctl44_Report_filter_12");
	public final static By RPSL_IMG_FILTER_13 = By.id("ctl44_Report_filter_13");
	public final static By RPSL_IMG_FILTER_14 = By.id("ctl44_Report_filter_14");
	
	public final static By RPSL_TH_CUSTOMER = By.id("ctl44_Report_sort_1");
	public final static By RPSL_TH_CONTRACT_NUMBER = By.id("ctl44_Report_sort_2");
	public final static By RPSL_TH_LINE = By.id("ctl44_Report_sort_3");
	public final static By RPSL_TH_PS_DESCRIPTION  = By.id("ctl44_Report_sort_4");
	public final static By RPSL_TH_MANUFACTURER = By.id("ctl44_Report_sort_5");
	public final static By RPSL_TH_MODEL = By.id("ctl44_Report_sort_6");
	public final static By RPSL_TH_RELATED_LINE = By.id("ctl44_Report_sort_7");
	public final static By RPSL_TH_RELATED_MANUFACTURER = By.id("ctl44_Report_sort_8");
	public final static By RPSL_TH_RELATED_MODEL = By.id("ctl44_Report_sort_9");
	public final static By RPSL_TH_RELATED_SERIAL_NUMBER = By.id("ctl44_Report_sort_10");
	public final static By RPSL_TH_INCIDENT_NUMBER = By.id("ctl44_Report_sort_11");
	public final static By RPSL_TH_LAST_NOTICE = By.id("ctl44_Report_sort_12");
	public final static By RPSL_TH_NEXT_NOTICE = By.id("ctl44_Report_sort_13");
	public final static By RPSL_TH_DO_NOT_SCHEDULE = By.id("ctl44_Report_sort_14");
	
	public static void enterReportsProfessionalServicesListingPage(){
		SpHomePageUtil.enter();
		SpHomePageUtil.enterReportsDefaultPage();
		SeleniumUtil.click(SeleniumUtil.getCachedElement(SpReportsDefaultPageUtil.RD_LINK_PROFESSIONAL_SERVICES_LISTING));
		waitForPageToLoad();
	}
	
	public static void waitForPageToLoad() {
		SeleniumUtil.selectDefaultContent();
		SeleniumUtil.selectFrame(SpHomePageUtil.HOME_FRAME_CONTENT_NAME);
		SeleniumUtil.selectFrame(SpHomePageUtil.HOME_FRAME_REPORTS_NAME);
		SeleniumUtil.waitOnElements(new By[]{
				RPSL_IMG_EXPORT, RPSL_INPUT_FIRST, RPSL_INPUT_PREVIOUS, RPSL_INPUT_NEXT,RPSL_INPUT_LAST, 
				RPSL_IMG_FILTER_1, RPSL_IMG_FILTER_2, RPSL_IMG_FILTER_3, RPSL_IMG_FILTER_4, RPSL_IMG_FILTER_5, 
				RPSL_IMG_FILTER_6, RPSL_IMG_FILTER_7, RPSL_IMG_FILTER_8, RPSL_IMG_FILTER_9, RPSL_IMG_FILTER_10,
				RPSL_IMG_FILTER_11, RPSL_IMG_FILTER_12, RPSL_IMG_FILTER_13, RPSL_IMG_FILTER_14
			});
//		SmsSeleniumUtil.isDisplayed(SmsSeleniumUtil.findElement(RPSL_IMG_REPORT_PREFERENCES));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_EXPORT));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_INPUT_FIRST));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_INPUT_PREVIOUS));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_INPUT_NEXT));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_INPUT_LAST));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_1));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_2));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_3));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_4));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_5));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_6));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_7));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_8));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_9));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_10));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_11));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_12));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_13));
		SeleniumUtil.isDisplayed(SeleniumUtil.findElement(RPSL_IMG_FILTER_14));
	}
}
